Skip to content

feat(java-base): Add jvmkill utility - #1579

Merged
sbernauer merged 4 commits into
mainfrom
feat/jvmkill
Jul 14, 2026
Merged

feat(java-base): Add jvmkill utility#1579
sbernauer merged 4 commits into
mainfrom
feat/jvmkill

Conversation

@sbernauer

@sbernauer sbernauer commented Jul 13, 2026

Copy link
Copy Markdown
Member

Description

Implements #1578.
This PR only adds a /stackable/libjvmkill.so file to the existing java-base image, so it's guaranteed to be non-breaking.
This should already enable customers to use it (see SUP-354).

After the 26.7 release we will actually start to use the file in trino-operator by setting -agentpath:/stackable/libjvmkill.so

I did a quick sanity check to make sure we can at least load the agent (I did not test if it improves the JVM situation):

---
apiVersion: trino.stackable.tech/v1alpha1
kind: TrinoCluster
metadata:
  name: simple-trino
spec:
  image:
    productVersion: "481"
    custom: foo:bar
    pullPolicy: IfNotPresent
  clusterConfig:
    catalogLabelSelector:
      matchLabels:
        trino: simple-trino
  coordinators:
    roleConfig:
      listenerClass: external-unstable
    jvmArgumentOverrides: &jvmArgumentOverrides
      add:
        - -agentpath:/stackable/libjvmkill.so
    roleGroups:
      default:
        replicas: 1
  workers:
    jvmArgumentOverrides: *jvmArgumentOverrides
    roleGroups:
      default:
        replicas: 1

Definition of Done Checklist

Note

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant.

Please make sure all these things are done and tick the boxes

  • Changes are OpenShift compatible
  • All added packages (via microdnf or otherwise) have a comment on why they are added
  • Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
  • All packages should have (if available) signatures/hashes verified
  • Add an entry to the CHANGELOG.md file
  • Integration tests ran successfully
TIP: Running integration tests with a new product image

The image can be built and uploaded to the kind cluster with the following commands:

boil build <IMAGE> --image-version <RELEASE_VERSION> --strip-architecture --load
kind load docker-image <MANIFEST_URI> --name=<name-of-your-test-cluster>

See the output of boil to retrieve the image manifest URI for <MANIFEST_URI>.

@NickLarsenNZ

Copy link
Copy Markdown
Member

If we want to use it by default in Trino, we need to adopt trino-operator

Why is that? What can that operator do that ours can't?

@sbernauer

Copy link
Copy Markdown
Member Author

Does #1578 (comment) clarify it? There is no other operator involved, only "our" trino-operator

@maltesander maltesander left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@sbernauer
sbernauer added this pull request to the merge queue Jul 14, 2026
Merged via the queue into main with commit 9897ce5 Jul 14, 2026
3 checks passed
@sbernauer
sbernauer deleted the feat/jvmkill branch July 14, 2026 07:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants